package com.mingqijia.gassafety.shared.log;

import cn.hutool.json.JSONUtil;
import com.mingqijia.gassafety.shared.utils.ApplicationUtils;
import lombok.Builder;
import lombok.Value;

/**
 * 日志记录对象
 *
 * @author Damon S.
 * @version v0.2
 * @date 2021-05-29 19:50
 */
@Value
@Builder
public class LogObject {
    /** 事件名称,一般就是业务方法名称 */
    String eventName;
    /** 调用链id */
    String traceId;
    /** 接口响应时间-毫秒 */
    long duration;
    /** C端用户id */
    String userId;
    /** 其他业务参数 */
    Object others;
    /** 接口请求入参 */
    Object request;
    /** 接口返回值 */
    Object response;

    @Override
    public String toString() {
        return JSONUtil.toJsonStr(this);
    }
}
